﻿using CDV.IRMS.Model;
using CDV.IRMS.WebAPI.TaskExecution.Data;
using System;
using System.Collections.Generic;

namespace CDV.IRMS.WebAPI.TaskExecution.Interface
{
    /// <summary>
    /// 任务路由数据交互接口
    /// </summary>
    public interface ITaskManagerService
    {
        /// <summary>
        /// 查询任务路由数据
        /// </summary>
        /// <param name="beginTime">开始时间</param>
        /// <param name="endTime">结束时间</param>
        /// <param name="routeStatus">路由线路状态</param>
        /// <returns>任务路由列表</returns>
        (IList<TaskRouteInfoModel>, string) QueryTask(DateTime beginTime, DateTime endTime, int? routeStatus);

        /// <summary>
        /// 更新任务路由状态
        /// </summary>
        /// <param name="taskID">任务ID</param>
        /// <param name="routeID">路由ID</param>
        /// <param name="routeStatus">路由线路状态</param>
        /// <returns></returns>
        (bool, string) UpdateRouteStatus(int taskID, int routeID, ERouteStatus routeStatus);
    }
}
